home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / games / kenka / kenka2s.lzh / flag_m.inc < prev    next >
Text File  |  1998-08-27  |  13KB  |  642 lines

  1. *---------------------------------------
  2. *
  3. *    ô«ì∞âïü[â`âô
  4. *
  5. *    by Shiroh Nakaya
  6. *
  7. *---------------------------------------
  8.  
  9. *---------------------------------------
  10. flag_0:
  11.     move.w    C_X(a1),d1
  12.     cmp.w    C_X(a2),d1            * ì╢ëEîⁿé½ö╗ÆΦ
  13.     bgt    1f
  14.     blt    2f
  15.     bra    @f
  16. 1:
  17.     move.w    #1,C_LR_F(a1)            * Ä⌐ò¬é═ì╢é╔îⁿé¡
  18.     bra    @f
  19. 2:
  20.     clr.w    C_LR_F(a1)            * Ä⌐ò¬é═ëEé╔îⁿé¡
  21. @@:
  22.     btst    #5,d6
  23.     bne    @f
  24.     move.w    #4,C_M_F(a1)
  25.     clr.w    C_CNT(a1)
  26.     bra    flag_0_exit
  27. @@:
  28.     eori.b    #$ff,d6
  29.     andi.l    #$0f,d6                * âCâôâfâbâNâXé╔òsòKùvé╚âfü[â^é≡ìφÅ£
  30.     move.w    d6,d5
  31.     lsr.w    #2,d5                * æOÉié¿éµé╤îπæ▐Åêù¥
  32.     move.w    d5,C_CNT(a1)
  33.     move.w    C_X(a1),d1            * ê┌ô«Åêù¥
  34.     move.w    C_Y(a1),d2
  35.     add.w    d6,d6                * ê┌ô«ù╩ĵô╛
  36.     add.w    d6,d6
  37.     movea.l    C_JOY(a1),a0
  38.     move.w    0(a0,d6.w),d3            * éwì└òWò√îⁿê┌ô«
  39.     add.w    d3,d1
  40.     cmp.w    C_MD_X2(a1),d1            * ê┌ô«ö═ê═â`âFâbâN
  41.     bgt    @f                * é═é▌Åoé╖ùlé┼éáéΩé╬ê┌ô«é╡é╚éó
  42.     cmp.w    C_MD_X1(a1),d1
  43.     blt    @f
  44.     move.w    d1,C_X(a1)            * ê┌ô«ö═ê═ôαé╚éτé╬ê┌ô«é│é╣éΘ
  45. @@:
  46.     move.w    2(a0,d6.w),d3            * éxì└òWò√îⁿê┌ô«
  47.     add.w    d3,d2                * Åêù¥ôIé╔é═éwì└òWÄ₧é╞ô»é╢
  48.     cmp.w    C_MD_Y2(a1),d2
  49.     bgt    @f
  50.     cmp.w    C_MD_Y1(a1),d2
  51.     blt    @f
  52.     move.w    d2,C_Y(a1)
  53.  
  54. flag_0_exit:
  55.     rts
  56. *---------------------------------------
  57. flag_1:
  58.     addq.w    #1,C_ANI_WC(a1)            * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
  59.     movea.l    C_A_D(a1),a0            * âéü[âVâçâôâfü[â^é≡ĵô╛
  60.     move.w    (a0),d0
  61.     cmp.w    C_ANI_WC(a1),d0            * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
  62.     bgt    flag_1_exit            * âéü[âVâçâôé≡ìXÉV
  63.     addq.l    #2,C_A_D(a1)
  64.     clr.w    C_ANI_WC(a1)
  65.     addq.w    #1,C_AM_F(a1)            * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
  66.     move.w    C_AM_F(a1),d0
  67.     add.w    d0,d0
  68.     move.w    attack_process(pc,d0.w),d0
  69.     jmp    attack_process(pc,d0.w)
  70.  
  71. attack_process:
  72.     .dc.w    flag_1_exit-attack_process,ak_1-attack_process
  73.     .dc.w    ak_2-attack_process,ak_3-attack_process
  74.  
  75. ak_1:                        * ìUîéö╗ÆΦÅoî╗Åêù¥
  76.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  77.     lea.l    50(a4),a4
  78.     move.w    C_AK_F(a1),d0
  79.     move.w    d0,d1                * écéOé≡éPéOö{
  80.     lsl.w    #3,d0
  81.     add.w    d1,d1
  82.     add.w    d1,d0
  83.     adda.w    d0,a4
  84.     tst.l    (a4)
  85.     beq    3f
  86.     tst.l    go_adpcm
  87.     beq    2f
  88.     movea.l    go_adpcm,a3
  89.     move.w    PCM_P(a4),d0
  90.     cmp.w    PCM_P(a3),d0
  91.     blt    3f
  92. 2:
  93.     move.l    a4,go_adpcm
  94. 3:
  95.     lea.l    CHARA_DATA(a1),a3
  96.     moveq.l    #0,d0
  97.     move.w    C_AK_F(a1),d0
  98.  
  99.     move.w    d0,d1                * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
  100.     add.w    d1,d1
  101.     add.w    d1,d1
  102.     lsl.w    #4,d0
  103.     add.w    d1,d0
  104.  
  105.     movea.l    C_HIT_D(a1),a0
  106.     adda.l    d0,a0
  107.     move.w    (a0),d1                * èeÄφâfü[â^âZâbâg
  108.     move.w    2(a0),d2
  109.     tst.w    C_LR_F(a1)
  110.     beq    1f
  111.     neg.w    d1
  112. 1:
  113.     add.w    C_X(a1),d1
  114.     add.w    C_Y(a1),d2
  115.     move.w    d1,C_X(a3)
  116.     move.w    d2,C_Y(a3)
  117.     move.w    4(a0),C_H_X(a3)
  118.     move.w    6(a0),C_H_Y(a3)
  119.     move.w    8(a0),C_HD_X(a3)
  120.     move.w    10(a0),C_HD_Y(a3)
  121.     move.w    12(a0),C_K(a3)
  122.     move.w    14(a0),C_HIT_F(a3)
  123.     move.w    16(a0),C_M_F(a3)
  124.     move.w    18(a0),C_CNT(a3)
  125.     move.w    C_AK_F(a1),C_AK_F(a3)
  126. @@:
  127.     rts
  128.  
  129. ak_2:
  130.     lea.l    CHARA_DATA(a1),a3
  131.     clr.w    C_M_F(a3)
  132.     rts
  133.  
  134. ak_3:
  135.     clr.w    C_M_F(a1)
  136.     clr.w    C_CNT(a1)
  137.     move.w    #1,C_AM_F(a1)
  138. flag_1_exit:
  139.     rts
  140. *---------------------------------------
  141. flag_2:
  142.     tst.w    C_ANI_WC(a1)
  143.     bne    @f
  144.  
  145.     lea.l    CHARA_DATA(a1),a4
  146.     clr.w    C_M_F(a4)            * é▒é┐éτé╠ìUîéö╗ÆΦé≡ï¡ÉºôIé╔Å┴é╖
  147.     move.w    #1,C_AM_F(a1)
  148.     move.w    C_LR_F(a2),d0            * öwîπé⌐éτìUîéé≡Ä≤é»é╜Ä₧é═
  149.     cmp.w    C_LR_F(a1),d0            * îⁿé½é≡ö╜æ╬é╔é╡é─é╠é»é╝éΘ
  150.     bne    @f
  151.     addq.w    #1,C_LR_F(a1)
  152.     andi.w    #1,C_LR_F(a1)
  153. @@:
  154.     move.w    C_HIT_F(a1),d0            * é╠é»é╝éΦî°ë╩Åêù¥
  155.     beq    @f
  156.     andi.w    #$f0ff,d7
  157.     add.w    d0,d7
  158.     move.w    C_ANI_WC(a1),d0            * éQé┬é╠âpâîâbâgé≡Ägé┴é─âAâjâüé│é╣éΘ
  159.     andi.w    #$0003,d0
  160.     beq    @f
  161.     addi.w    #$0100,d7
  162.  
  163. @@:
  164.     addq.w    #1,C_ANI_WC(a1)
  165.     move.w    C_CNT(a1),d0
  166.     cmp.w    C_ANI_WC(a1),d0
  167.     bgt    @f
  168.     clr.w    C_M_F(a1)
  169.     clr.w    C_HIT_C(a1)
  170.     clr.w    C_CNT(a1)
  171.     clr.w    C_B_JOY(a1)
  172.  
  173.     btst    #6,d6                * ùºé┐Æ╝éΦìUîéÅêù¥âgâèâKéaé┼ö¡ô«
  174.     bne    not_attack            * âvâìâOâëâÇé╠ì\æóÅπéäéUé╔ôⁿé┴é─éóéΘ
  175.  
  176.     move.l    C_A_DT(a1),C_A_D(a1)        * âéü[âVâçâôâfü[â^é≡ĵô╛
  177.     addq.l    #6,C_A_D(a1)            * èeÄφâfü[â^âZâbâg
  178.     move.w    #1,C_M_F(a1)
  179.     clr.w    C_ANI_WC(a1)
  180.     move.w    #1,C_AM_F(a1)
  181.     move.w    #1,C_AK_F(a1)
  182.     move.w    #1,C_B_JOY(a1)
  183.  
  184.     lea.l    CHARA_DATA(a1),a3        * ìUîéö╗ÆΦÅoî╗Åêù¥
  185.     movea.l    C_HIT_D(a1),a0
  186.     adda.w    #18,a0
  187.     move.w    (a0),d1                * èeÄφâfü[â^âZâbâg
  188.     move.w    2(a0),d2
  189.     tst.w    C_LR_F(a1)
  190.     beq    1f
  191.     neg.w    d1
  192. 1:
  193.     add.w    C_X(a1),d1
  194.     add.w    C_Y(a1),d2
  195.     move.w    d1,C_X(a3)
  196.     move.w    d2,C_Y(a3)
  197.     move.w    4(a0),C_H_X(a3)
  198.     move.w    6(a0),C_H_Y(a3)
  199.     move.w    8(a0),C_HD_X(a3)
  200.     move.w    10(a0),C_HD_Y(a3)
  201.     move.w    12(a0),C_K(a3)
  202.     move.w    14(a0),C_HIT_F(a3)
  203.     move.w    C_AK_F(a1),C_AK_F(a3)
  204.     move.w    #1,C_M_F(a3)
  205.  
  206.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  207.     lea.l    60(a4),a4
  208.     tst.l    go_adpcm
  209.     beq    2f
  210.     movea.l    go_adpcm,a3
  211.     move.w    PCM_P(a4),d0
  212.     cmp.w    PCM_P(a3),d0
  213.     blt    not_attack
  214. 2:
  215.     move.l    a4,go_adpcm
  216. not_attack:
  217.     rts
  218.  
  219. @@:
  220.     moveq.l    #0,d0
  221.     tst.w    C_K(a1)
  222.     bmi    @f
  223.     cmpi.w    #4,C_HIT_C(a1)
  224.     ble    1f
  225. @@:
  226.     moveq.l    #1,d0
  227. 1:
  228.     move.w    C_X(a1),d1
  229.     tst.w    C_LR_F(a1)            * ëEîⁿé½é╚éτì╢é╓é╠é»é╝éΘ
  230.     bne    @f
  231.     sub.w    d0,d1
  232.     cmp.w    C_MD_X1(a1),d1            * ëµû╩Æ[é▄é┼ìsé½üAé╚é¿é╠é»é╝é┴é─éóéΘé╚éτ
  233.     bgt    1f                * ö╜æ╬æñé╠ëµû╩Æ[é╔âÅü[âvüiêΩë₧ânâüæ╬ì⌠üj
  234.     tst.w    C_K(a1)
  235.     bmi    2f
  236.     move.w    C_MD_X2(a1),d1
  237.     clr.w    C_M_F(a1)
  238.     clr.w    C_HIT_C(a1)
  239.     clr.w    C_CNT(a1)
  240. 1:
  241.     move.w    d1,C_X(a1)
  242. 2:
  243.     rts
  244.  
  245. @@:                        * ì╢îⁿé½é╚éτëEé╓é╠é»é╝éΘ
  246.     add.w    d0,d1
  247.     cmp.w    C_MD_X2(a1),d1            * ëµû╩Æ[é╠Åêù¥
  248.     blt    1f
  249.     tst.w    C_K(a1)
  250.     bmi    2f
  251.     move.w    C_MD_X1(a1),d1
  252.     clr.w    C_M_F(a1)
  253.     clr.w    C_HIT_C(a1)
  254.     clr.w    C_CNT(a1)
  255. 1:
  256.     move.w    d1,C_X(a1)
  257. 2:
  258.     rts
  259. *---------------------------------------
  260. flag_4:
  261.     tst.w    C_CNT(a1)
  262.     beq    3f
  263.     subq.w    #1,C_CNT(a1)
  264.     move.w    C_X(a1),d1
  265.     tst.w    C_LR_F(a1)            * ëEîⁿé½é╚éτì╢é╓
  266.     bne    @f
  267.     subq.w    #1,d1
  268.     cmp.w    C_MD_X1(a1),d1            * ëµû╩Æ[é▄é┼ìsé½üAé╚é¿é╠é»é╝é┴é─éóéΘé╚éτ
  269.     bgt    1f                * ö╜æ╬æñé╠ëµû╩Æ[é╔âÅü[âvüiêΩë₧ânâüæ╬ì⌠üj
  270.     tst.w    C_K(a1)
  271.     bmi    2f
  272.     move.w    C_MD_X2(a1),d1
  273.     clr.w    C_M_F(a1)
  274.     clr.w    C_HIT_C(a1)
  275.     clr.w    C_CNT(a1)
  276. 1:
  277.     move.w    d1,C_X(a1)
  278. 2:
  279.     rts
  280.  
  281. @@:                        * ì╢îⁿé½é╚éτëEé╓
  282.     addq.w    #1,d1
  283.     cmp.w    C_MD_X2(a1),d1            * ëµû╩Æ[é╠Åêù¥
  284.     blt    1f
  285.     tst.w    C_K(a1)
  286.     bmi    2f
  287.     move.w    C_MD_X1(a1),d1
  288.     clr.w    C_M_F(a1)
  289.     clr.w    C_HIT_C(a1)
  290.     clr.w    C_CNT(a1)
  291. 1:
  292.     move.w    d1,C_X(a1)
  293. 2:
  294.     rts
  295.  
  296. 3:
  297.     btst    #5,d6
  298.     beq    @f
  299.     clr.w    C_M_F(a1)
  300. @@:
  301.     rts
  302. *---------------------------------------
  303. *    éeéîéüéçü@éT
  304. *    âLâââôâZâïòsë┬æ┼îéÅêù¥
  305. *
  306. flag_5:
  307.     addq.w    #1,C_ANI_WC(a1)            * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
  308.     movea.l    C_A_D(a1),a0            * âéü[âVâçâôâfü[â^é≡ĵô╛
  309.     move.w    (a0),d0
  310.     cmp.w    C_ANI_WC(a1),d0            * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
  311.     bgt    flag_5_exit            * âéü[âVâçâôé≡ìXÉV
  312.     addq.l    #2,C_A_D(a1)
  313.     clr.w    C_ANI_WC(a1)
  314.     addq.w    #1,C_AM_F(a1)            * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
  315.     move.w    C_AM_F(a1),d0
  316.     add.w    d0,d0
  317.     move.w    s_attack_process(pc,d0.w),d0
  318.     jmp    s_attack_process(pc,d0.w)
  319.  
  320. s_attack_process:
  321.     .dc.w    flag_5_exit-s_attack_process,sak_1-s_attack_process
  322.     .dc.w    sak_2-s_attack_process,sak_3-s_attack_process
  323.  
  324. sak_1:                        * ìUîéö╗ÆΦÅoî╗Åêù¥
  325.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  326.     lea.l    50(a4),a4
  327.     move.w    C_AK_F(a1),d0
  328.     move.w    d0,d1                * écéOé≡éPéOö{
  329.     lsl.w    #3,d0
  330.     add.w    d1,d1
  331.     add.w    d1,d0
  332.     adda.w    d0,a4
  333.     tst.l    (a4)
  334.     beq    3f
  335.     tst.l    go_adpcm
  336.     beq    2f
  337.     movea.l    go_adpcm,a3
  338.     move.w    PCM_P(a4),d0
  339.     cmp.w    PCM_P(a3),d0
  340.     blt    3f
  341. 2:
  342.     move.l    a4,go_adpcm
  343. 3:
  344.     lea.l    CHARA_DATA(a1),a3
  345.     moveq.l    #0,d0
  346.     move.w    C_AK_F(a1),d0
  347.  
  348.     move.w    d0,d1                * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
  349.     add.w    d1,d1
  350.     add.w    d1,d1
  351.     lsl.w    #4,d0
  352.     add.w    d1,d0
  353.  
  354.     movea.l    C_HIT_D(a1),a0
  355.     adda.l    d0,a0
  356.     move.w    (a0),d1                * èeÄφâfü[â^âZâbâg
  357.     move.w    2(a0),d2
  358.     tst.w    C_LR_F(a1)
  359.     beq    1f
  360.     neg.w    d1
  361. 1:
  362.     add.w    C_X(a1),d1
  363.     add.w    C_Y(a1),d2
  364.     move.w    d1,C_X(a3)
  365.     move.w    d2,C_Y(a3)
  366.     move.w    4(a0),C_H_X(a3)
  367.     move.w    6(a0),C_H_Y(a3)
  368.     move.w    8(a0),C_HD_X(a3)
  369.     move.w    10(a0),C_HD_Y(a3)
  370.     move.w    12(a0),C_K(a3)
  371.     move.w    14(a0),C_HIT_F(a3)
  372.     move.w    16(a0),C_M_F(a3)
  373.     move.w    18(a0),C_CNT(a3)
  374.     move.w    C_AK_F(a1),C_AK_F(a3)
  375. @@:
  376.     rts
  377.  
  378. sak_2:
  379.     lea.l    CHARA_DATA(a1),a3
  380.     clr.w    C_M_F(a3)
  381.     rts
  382.  
  383. sak_3:
  384.     clr.w    C_M_F(a1)
  385.     clr.w    C_CNT(a1)
  386.     move.w    #1,C_AM_F(a1)
  387. flag_5_exit:
  388.     rts
  389. *---------------------------------------
  390. *    éeéîéüéçü@éU
  391. *    ìUîéé│é╬é½Åêù¥
  392. *
  393. flag_6:
  394.     movea.l    C_A_D(a1),a0
  395.     addq.w    #1,C_ANI_WC(a1)
  396.     andi.w    #$0001,C_ANI_WC(a1)
  397.     beq    @f
  398.     andi.w    #$f0ff,d7
  399.     addi.w    #$0500,d7
  400.     move.w    (a0),d0
  401.     cmp.w    C_CNT(a1),d0
  402.     bgt    @f
  403.     subi.w    #$0200,d7
  404. @@:
  405.     move.w    2(a0),d0
  406.     addq.w    #1,C_CNT(a1)
  407.     cmp.w    C_CNT(a1),d0
  408.     bne    @f
  409.     clr.w    C_M_F(a1)
  410.     clr.w    C_CNT(a1)
  411.     move.w    #1,C_AM_F(a1)
  412. @@:
  413.     rts
  414. *---------------------------------------
  415. *    éeéîéüéçü@éV
  416. *    ö≥é╤ô╣ï∩Åêù¥
  417. *
  418. flag_7:
  419.     addq.w    #1,C_ANI_WC(a1)            * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
  420.     movea.l    C_A_D(a1),a0            * âéü[âVâçâôâfü[â^é≡ĵô╛
  421.     move.w    (a0),d0
  422.     cmp.w    C_ANI_WC(a1),d0            * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
  423.     bgt    flag_7_exit            * âéü[âVâçâôé≡ìXÉV
  424.     addq.l    #2,C_A_D(a1)
  425.     clr.w    C_ANI_WC(a1)
  426.     addq.w    #1,C_AM_F(a1)            * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
  427.     move.w    C_AM_F(a1),d0
  428.     add.w    d0,d0
  429.     move.w    s_attack7_process(pc,d0.w),d0
  430.     jmp    s_attack7_process(pc,d0.w)
  431.  
  432. s_attack7_process:
  433.     .dc.w    flag_7_exit-s_attack7_process,sak7_1-s_attack7_process
  434.     .dc.w    sak7_2-s_attack7_process
  435.  
  436. sak7_1:                        * ìUîéö╗ÆΦÅoî╗Åêù¥
  437.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  438.     lea.l    50(a4),a4
  439.     move.w    C_AK_F(a1),d0
  440.     move.w    d0,d1                * écéOé≡éPéOö{
  441.     lsl.w    #3,d0
  442.     add.w    d1,d1
  443.     add.w    d1,d0
  444.     adda.w    d0,a4
  445.     tst.l    (a4)
  446.     beq    3f
  447.     tst.l    go_adpcm
  448.     beq    2f
  449.     movea.l    go_adpcm,a3
  450.     move.w    PCM_P(a4),d0
  451.     cmp.w    PCM_P(a3),d0
  452.     blt    3f
  453. 2:
  454.     move.l    a4,go_adpcm
  455. 3:
  456.     lea.l    CHARA_DATA(a1),a3
  457.     moveq.l    #0,d0
  458.     move.w    C_AK_F(a1),d0
  459.  
  460.     move.w    d0,d1                * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
  461.     add.w    d1,d1
  462.     add.w    d1,d1
  463.     lsl.w    #4,d0
  464.     add.w    d1,d0
  465.  
  466.     movea.l    C_HIT_D(a1),a0
  467.     adda.l    d0,a0
  468.     move.w    (a0),d1                * èeÄφâfü[â^âZâbâg
  469.     move.w    2(a0),d2
  470.     tst.w    C_LR_F(a1)
  471.     beq    1f
  472.     neg.w    d1
  473. 1:
  474.     add.w    C_X(a1),d1
  475.     add.w    C_Y(a1),d2
  476.     move.w    d1,C_X(a3)
  477.     move.w    d2,C_Y(a3)
  478.     move.w    4(a0),C_H_X(a3)
  479.     move.w    6(a0),C_H_Y(a3)
  480.     move.w    8(a0),C_HD_X(a3)
  481.     move.w    10(a0),C_HD_Y(a3)
  482.     move.w    12(a0),C_K(a3)
  483.     move.w    14(a0),C_HIT_F(a3)
  484.     move.w    16(a0),C_M_F(a3)
  485.     move.w    18(a0),C_CNT(a3)
  486.     move.w    C_AK_F(a1),C_AK_F(a3)
  487.     clr.w    C_ANI_WC(a3)
  488.     clr.w    C_LR_F(a3)
  489. @@:
  490.     rts
  491.  
  492. sak7_2:
  493.     lea.l    CHARA_DATA(a1),a3
  494.     clr.w    C_M_F(a3)
  495.     clr.w    C_M_F(a1)
  496.     clr.w    C_CNT(a1)
  497.     move.w    #1,C_AM_F(a1)
  498.     rts
  499.  
  500. flag_7_exit:
  501.     lea.l    CHARA_DATA(a1),a3
  502.     tst.w    C_M_F(a3)
  503.     beq    3f
  504.  
  505.     addq.w    #1,C_LR_F(a3)
  506.     andi.w    #$0003,C_LR_F(a3)
  507.     bne    @f
  508.     addq.w    #1,C_ANI_WC(a3)
  509.     andi.w    #$0003,C_ANI_WC(a3)
  510. @@:
  511.     tst.w    C_LR_F(a1)
  512.     bne    @f
  513.     addq.w    #2,C_X(a3)
  514.     rts
  515. @@:
  516.     subq.w    #2,C_X(a3)
  517. 3:
  518.     rts
  519. *---------------------------------------
  520. *    éeéîéüéçü@éW
  521. *    ô╦ÉiïZÅêù¥
  522. *
  523. flag_8:
  524.     addq.w    #1,C_ANI_WC(a1)            * âAâjâüâEâGâCâgâCâôâNâèâüâôâg
  525.     movea.l    C_A_D(a1),a0            * âéü[âVâçâôâfü[â^é≡ĵô╛
  526.     move.w    (a0),d0
  527.     cmp.w    C_ANI_WC(a1),d0            * âAâjâüâEâGâCâgé¬âéü[âVâçâôâfü[â^Ælé≡ëzéªé╜éτ
  528.     bgt    flag_8_exit            * âéü[âVâçâôé≡ìXÉV
  529.     addq.l    #2,C_A_D(a1)
  530.     clr.w    C_ANI_WC(a1)
  531.     addq.w    #1,C_AM_F(a1)            * ìUîéô«ì∞âtâëâOé╔éµéΦèeô«ì∞é╓
  532.     move.w    C_AM_F(a1),d0
  533.     add.w    d0,d0
  534.     move.w    st_attack_process(pc,d0.w),d0
  535.     jmp    st_attack_process(pc,d0.w)
  536.  
  537. st_attack_process:
  538.     .dc.w    flag_8_exit-st_attack_process,stak_1-st_attack_process
  539.     .dc.w    stak_2-st_attack_process,stak_3-st_attack_process
  540.  
  541. stak_1:                        * ìUîéö╗ÆΦÅoî╗Åêù¥
  542.     movea.l    C_PCM_D(a1),a4            * é`écéoébélö¡ë╣ùvïü
  543.     lea.l    50(a4),a4
  544.     move.w    C_AK_F(a1),d0
  545.     move.w    d0,d1                * écéOé≡éPéOö{
  546.     lsl.w    #3,d0
  547.     add.w    d1,d1
  548.     add.w    d1,d0
  549.     adda.w    d0,a4
  550.     tst.l    (a4)
  551.     beq    3f
  552.     tst.l    go_adpcm
  553.     beq    2f
  554.     movea.l    go_adpcm,a3
  555.     move.w    PCM_P(a4),d0
  556.     cmp.w    PCM_P(a3),d0
  557.     blt    3f
  558. 2:
  559.     move.l    a4,go_adpcm
  560. 3:
  561.     lea.l    CHARA_DATA(a1),a3
  562.     moveq.l    #0,d0
  563.     move.w    C_AK_F(a1),d0
  564.  
  565.     move.w    d0,d1                * écéPé≡ï]É╡é╔é╡é─écéOé≡éQéOö{
  566.     add.w    d1,d1
  567.     add.w    d1,d1
  568.     lsl.w    #4,d0
  569.     add.w    d1,d0
  570.  
  571.     movea.l    C_HIT_D(a1),a0
  572.     adda.l    d0,a0
  573.     move.w    (a0),d1                * èeÄφâfü[â^âZâbâg
  574.     move.w    2(a0),d2
  575.     tst.w    C_LR_F(a1)
  576.     beq    1f
  577.     neg.w    d1
  578. 1:
  579.     add.w    C_X(a1),d1
  580.     add.w    C_Y(a1),d2
  581.     move.w    d1,C_X(a3)
  582.     move.w    d2,C_Y(a3)
  583.     move.w    4(a0),C_H_X(a3)
  584.     move.w    6(a0),C_H_Y(a3)
  585.     move.w    8(a0),C_HD_X(a3)
  586.     move.w    10(a0),C_HD_Y(a3)
  587.     move.w    12(a0),C_K(a3)
  588.     move.w    14(a0),C_HIT_F(a3)
  589.     move.w    16(a0),C_M_F(a3)
  590.     move.w    18(a0),C_CNT(a3)
  591.     move.w    C_AK_F(a1),C_AK_F(a3)
  592. @@:
  593.     rts
  594.  
  595. stak_2:
  596.     lea.l    CHARA_DATA(a1),a3
  597.     clr.w    C_M_F(a3)
  598.     rts
  599.  
  600. stak_3:
  601.     clr.w    C_M_F(a1)
  602.     clr.w    C_CNT(a1)
  603.     move.w    #1,C_AM_F(a1)
  604.     rts
  605.  
  606. flag_8_exit:
  607.     cmpi.w    #1,C_AM_F(a1)
  608.     bne    3f
  609.  
  610.     lea.l    CHARA_DATA(a1),a3
  611.     move.w    C_X(a3),d2
  612.     move.w    C_X(a1),d1
  613.     tst.w    C_LR_F(a1)
  614.     bne    @f
  615.     addq.w    #2,d1
  616.     addq.w    #2,d2
  617.     bra    1f
  618. @@:
  619.     subq.w    #2,d1
  620.     subq.w    #2,d2
  621. 1:
  622.     cmp.w    C_MD_X2(a1),d1            * ê┌ô«ö═ê═â`âFâbâN
  623.     bgt    3f                * é═é▌Åoé╖ùlé┼éáéΩé╬ê┌ô«é╡é╚éó
  624.     cmp.w    C_MD_X1(a1),d1
  625.     blt    3f
  626.     move.w    d1,C_X(a1)            * ê┌ô«ö═ê═ôαé╚éτé╬ê┌ô«é│é╣éΘ
  627.     move.w    d2,C_X(a3)
  628. 3:
  629.     rts
  630. *---------------------------------------
  631. *    éeéîéüéçü@éX
  632. *    ò╧ÉgÅêù¥
  633. *
  634. flag_9:
  635.     clr.w    C_M_F(a1)
  636.     clr.w    C_CNT(a1)
  637.     move.w    #1,C_AM_F(a1)
  638.     movea.l    C_A_D(a1),a3
  639.     movea.l    (a3),a3
  640.     jmp    (a3)
  641. *---------------------------------------
  642.